Career 2025 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010
All Rounds Final 1/2 1/4 First Second Third Fourth Pre-q Rubber 1 Rubber 2 Rubber 3 Rubber 4 Rubber 5 Robin Bronze Q3 N/A Q2 Q1 ER Q4 CR QF Q5 N/A
All Courts Acrylic N/A Clay Grass Carpet Hard I.hard
All Tour Portugal F5 Portugal F1 Portugal F2 Portugal F4 Portugal F5 USA F28 USA F31 USA F2 USA F3 USA F4 Portugal F3 USA F11 USA F12 Spain F25 Mexico F10 Portugal F4 Mexico F11 Portugal F5 Brazil F31 USA F29 Brazil F32 Mexico F3 USA F6 USA F7 Portugal F4 USA F9 Egypt F2 Egypt F3 Egypt F4 USA F11 USA F12 Portugal F5 Portugal F6 Portugal F7 Spain F27 Spain F30 USA F24 USA F25 Spain F33 Portugal F9 Mexico F15 Portugal F10 Portugal F11 Spain F41 Spain F42 Chile F11 Turkey F49 Chile F12 Turkey F50 USA F1 USA F2 Portugal F1 Portugal F2 USA F5 Portugal F3 USA F6 Turkey F7 Turkey F8 Turkey F9 Portugal F5 Belgium F2 Belgium F3 Japan F8 Belgium F4 Romania F2 Portugal F8 Portugal F9 Portugal F10 Portugal F11 Turkey F42 Turkey F43 Tunisia F3 Tunisia F4 Portugal F3 Morocco F2 Egypt F33 Morocco F3 Italy F6 Portugal F4 Portugal F7 Mozambique F1 Spain F18 Belgium F13 Spain F28 Egypt F36 Egypt F37 Egypt F38 Egypt F39 Turkey F6 Turkey F7 Portugal F3 Egypt F9 Egypt F10 Romania F13 Czech Republic F4 Romania F15 Spain F26 Turkey F47 Turkey F48 Egypt F1 (Sharm El Sheikh) Egypt F4 (Sharm El Sheikh) Egypt F5 (Sharm El Sheikh) Egypt F6 (Sharm El Sheikh) Portugal F5 (Quinta Da Marinha) Portugal F6 (Porto) Portugal F7 (Carcavelos) Ukraine F1 (Cherkassy) Ukraine F2 (Cherkassy) Romania F2 (Bacau) Tunisia F22 (Hammamet) Portugal F10 (Torres Vedras) Portugal F11 (Povoa de Varzim) Portugal F12 (Idanha-A-Nova) Portugal F13 (Idanha-A-Nova) Tunisia F27 (Hammamet) Tunisia F28 (Hammamet) Tunisia F29 (Hammamet) Tunisia F30 (Hammamet) Spain F21 Portugal F1 (Vale Do Lobo) Portugal F3 (Loule) Portugal F5 (Vilamoura) Portugal F6 (Lisbon) Portugal F7 (Porto) Portugal F8 (Cascais) Tunisia F23 (Hammamet) USA F26 Portugal F14 (Sintra) Portugal F15 (Sintra) Portugal F6 Belgium F5 Portugal F4 Mozambique F2 Mexico F4 Portugal F2 Portugal F3 Egypt F32 M25 Sabadell M25 Roda de Bara M25 Satu Mare M25 Sintra M25 Vale do Lobo M25 Loule M25 Vale do Lobo M25 Setubal M25 Elvas M25 Faro M25 Castelo Branco M25 Vila Real de Santo Antonio M25 Mungia-Laukariz Segovia Challenger Rimouski Challenger Leon Challenger Tallahassee Challenger Vicenza Challenger Surbiton Challenger Ilkley Challenger Granby Challenger Lexington Challenger Tampere Challenger Aptos Challenger Manerbio Challenger Sao Paulo Challenger Hua Hin Challenger M25 Idanha-a-Nova Winnetka Challenger Winnipeg Challenger Poznan Challenger Tampere Challenger Prague Challenger Canberra Challenger M25 Sintra Toyota Challenger Astana Challenger Bangkok Challenger Burnie Challenger Launceston Challenger Guadalajara Challenger Turkey F5 Sarasota Challenger M25 Valldoreix Tallahassee Challenger Braga Challenger Gimcheon Challenger Busan Challenger Blois Challenger M25 Idanha-a-Nova Zhangjiagang Challenger Kaohsiung Challenger Almaty Challenger Tashkent Challenger Canberra Challenger Traralgon Challenger Bratislava Challenger M25 Monastir Kobe Challenger Pune Challenger Sophia Antipolis Challenger Milan Challenger Braga Challenger Jerusalem Challenger Bratislava Challenger Kaohsiung Challenger L'Aquila Challenger Liuzhou Challenger Shenzhen Challenger Mestre Challenger Bendigo Challenger Bengalaru Challenger Traralgon Challenger Bergamo Challenger Sarasota Challenger Kobe Challenger Prague II Challenger Split Challenger Lisbon Challenger Bangalore Challenger Prague Challenger Zagreb Challenger Porto Challenger Parma Challenger Mallorca Challenger Braga Challenger Kyiv Challenger Lisbon Challenger Bratislava Challenger Alicante Challenger Sarasota Challenger M25 Vale do Lobo Poznan Challenger Columbus Challenger Porto Challenger Meerbusch Challenger Cleveland Challenger Baotou Challenger Alicante Challenger Mouilleron-Le-Captif Challenger M25 Vila Real de Santo Antonio Yokohama Challenger Matsuyama Challenger Kobe Challenger Yokkaichi Challenger Bengaluru Challenger Oeiras 3 Challenger Troisdorf Challenger Zug Challenger Grodzisk Mazowiecki Challenger Mallorca Challenger Cassis Challenger Bratislava Challenger Malaga Challenger Toyota Challenger Sopot Challenger Ottignies-Louvain-la-Neuve Challenger Oeiras 3 Challenger Cagliari Challenger Turin Challenger Oeiras 4 Challenger Lisbon Challenger Girona Challenger Ostrava Challenger Guimaraes Challenger Cagliari Challenger Bunschoten Challenger Sofia 2 Challenger Seville Challenger Brest Challenger Shenzhen Challenger Iasi Challenger Toyota Challenger Suzhou Challenger Lexington Challenger Seoul Challenger Yokohama Challenger Hamburg Challenger Le Gosier Challenger Nanjing Challenger Caltanissetta Challenger Aptos Challenger Porto 2 Challenger Manerbio Challenger Kaohsiung Challenger Oeiras 2 Challenger Shanghai Challenger Porto Challenger Brasov Challenger Nur-Sultan 2 Challenger Eskisehir Challenger Todi Challenger Helsinki Challenger Braga Challenger St. Tropez Challenger Sumter Challenger Todi Challenger Oeiras 3 Challenger Lisbon Challenger Yokohama Challenger Orleans Challenger Estoril Open - Estoril Ostrava Challenger Prostejov Challenger Kyoto Challenger Estoril Open - Estoril Sao Leopoldo Challenger Yokohama Challenger Portugal Open - Oeiras Kyoto Challenger Itajai Challenger Sarasota Challenger Sao Paulo Challenger Savannah Challenger Santos Challenger Erste Bank Open - Vienna Mestre Challenger Kosice Challenger Milan Challenger Kaohsiung Challenger Delray Beach Open - Delray Beach M25 Tavira Vancouver Challenger Segovia Challenger US Men's Clay Court Championship - Houston Istanbul Challenger Citi Open - Washington Malaysian Open - Kuala Lumpur Lille Challenger Geneva Challenger Ortisei Challenger Brisbane International - Brisbane Millennium Estoril Open - Estoril Yokohama Challenger Gerry Weber Open - Halle Toyota Challenger Memphis Open - Memphis Happy Valley Challenger Casablanca Challenger Delray Beach Open - Delray Beach Brisbane International - Brisbane Hong Kong Challenger Millennium Estoril Open - Estoril New Delhi Challenger Kolkata Challenger Memphis Open - Memphis Irving Challenger Sarasota Challenger Abierto Mexicano Telcel - Acapulco Mersin Challenger Savannah Challenger Delray Beach Open - Delray Beach Topshelf Open - 's-Hertogenbosch Heilbronn Challenger BB&T Atlanta Open - Atlanta Winston-Salem Open - Winston-Salem Mestre Challenger Millennium Estoril Open - Estoril Segovia Challenger Millennium Estoril Open - Estoril Abierto Mexicano - Los Cabos Aptos Challenger Campinas Challenger Murray River Open - Melbourne Nature Valley International - Eastbourne Porto Alegre Challenger St. Petersburg Open - St. Petersburg Millennium Estoril Open - Estoril Dubai Duty Free Tennis Championships - Dubai Kremlin Cup - Moscow US Men's Clay Court Championship - Houston Singapore Tennis Open - Singapore Canberra Challenger Bangkok Challenger Manila Challenger Sofia Open - Sofia Cherbourg Challenger Adelaide International 2 - Adelaide Open 13 Provence - Marseille Abierto Mexicano Telcel - Acapulco Shenzhen Open - Shenzhen Napoli Challenger Barletta Challenger Rakuten Japan Open - Tokyo European Open - Antwerp Turin Challenger Anning Challenger Open Parc - Lyon Rome Challenger Samarkand Challenger Brisbane International - Brisbane Mestre Challenger Sydney International - Sydney Perugia Challenger Millennium Estoril Open - Estoril Bastad Challenger Delray Beach Open - Delray Beach Abierto Mexicano Telcel - Acapulco Barcelona Open Banc Sabadell - Barcelona Geneva Open - Geneva Cordenons Challenger Antalya Cup - Antalya Kobe Challenger Zhuhai Open - Zhuhai Shanghai Challenger Intrum Stockholm Open - Stockholm Swiss Indoors Basel - Basel Hall of Fame Open - Newport Tata Open Maharashtra - Pune Abierto Mexicano Telcel - Acapulco New York Open - New York Delray Beach Open - Delray Beach Emilia-Romagna Open - Parma bett1HULKS Championships - Cologne Adelaide International 1 - Adelaide Milan Challenger Citi Open - Washington Dallas Open - Dallas Hamburg European Open - Hamburg Delray Beach Open - Delray Beach Abierto Mexicano Telcel - Acapulco Dubai Duty Free Tennis Championships - Dubai BMW Open - Munich Open Parc - Lyon Erste Bank Open - Vienna Citi Open - Washington Rakuten Japan Open - Tokyo European Open - Antwerp Korea Open - Seoul Adelaide International 1 - Adelaide Abierto Mexicano Telcel - Acapulco Barcelona Open Banc Sabadell - Barcelona Zhuhai Open - Zhuhai Rakuten Japan Open - Tokyo Dallas Open - Dallas Millennium Estoril Open - Estoril Brisbane International - Brisbane Open Parc - Lyon Rothesay International - Eastbourne Atlanta Open - Atlanta Adelaide International - Adelaide Dallas Open - Dallas Delray Beach Open - Delray Beach Mifel Tennis Open - Los Cabos Lisbon Challenger Bangkok Challenger Amersfoort Challenger Prague Challenger Manerbio Challenger Jinan Challenger Ningboo Challenger Helsinki Challenger Ningboo Challenger Nur-Sultan Challenger Ostrava Challenger Prostejov Challenger Sao Paulo Challenger Maia Challenger Nur-Sultan 1 Challenger Biella 7 Challenger Segovia Challenger Brest Challenger Tenerife Challenger Heilbronn Challenger Traralgon Challenger Forli 3 Challenger Bengalaru 1 Challenger Citi Open - Washington Tunis Challenger Troisdorf Challenger Generali Open - Kitzbuhel Malaga Challenger Rome Challenger Tampere Challenger San Benedetto Challenger Vancouver Challenger Banja Luka Challenger Toulouse Challenger Seville Challenger Chennai Challenger Pune Challenger St. Brieuc Challenger Madrid Challenger Aix En Provence Challenger Francavilla Challenger Oeiras 4 Challenger Prostejov Challenger Porto Challenger Alicante Challenger Hamburg Challenger Delray Beach Open - Delray Beach Matsuyama Challenger Augsburg Challenger Citi Open - Washington China Open - Beijing Dobrich 2 Challenger Braga Challenger Maia Challenger Yokkaichi Challenger Oeiras 1 Challenger Oeiras 3 Challenger Birmingham Challenger Poznan Challenger Milan Challenger Iasi Challenger Tampere Challenger Porto Challenger Delray Beach Open - Delray Beach Porto 2 Challenger Shanghai Challenger Istanbul Challenger Lisbon Challenger Braga Challenger Barcelona Open Banc Sabadell - Barcelona Lisbon Challenger Playford Challenger Estoril Open - Estoril Sony Open Tennis - Miami Portugal Open - Oeiras Miami Open - Miami BNP Paribas Open - Indian Wells BNP Paribas Open - Indian Wells Grand Prix Hassan II - Casablanca Shanghai Rolex Masters - Shanghai Japan Open Tennis Championships - Tokyo Miami Open - Miami Miami Open - Miami Citi Open - Washington Rogers Cup - Toronto Western & Southern Open - Cincinnati Shenzhen Open - Shenzhen Rakuten Japan Open - Tokyo BNP Paribas Open - Indian Wells Monte-Carlo Rolex Masters - Monte-Carlo Internazionali BNL d'Italia - Rome Western & Southern Open - Cincinnati Internazionali BNL d'Italia - Rome BNP Paribas Open - Indian Wells Mutua Madrid Open - Madrid Rogers Cup - Toronto Rolex Paris Masters - Paris BNP Paribas Open - Indian Wells Coupe Rogers - Montreal Miami Open - Miami Internazionali BNL d'Italia - Rome Shanghai Rolex Masters - Shanghai BNP Paribas Masters - Paris Mutua Madrid Open - Madrid Citi Open - Washington Rolex Paris Masters - Paris Miami Open - Miami Miami Open - Miami Miami Open - Miami Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome National Bank Open - Montreal Western & Southern Open - Cincinnati Citi Open - Washington Hangzhou Open - Hangzhou Japan Open Tennis Championships - Tokyo Western & Southern Open - Cincinnati Boss Open - Stuttgart Terra Wortmann Open - Halle Winston-Salem Open - Winston-Salem National Bank Open - Toronto Shanghai Rolex Masters - Shanghai Mutua Madrid Open - Madrid National Bank Open - Montreal Rolex Paris Masters - Paris BNP Paribas Open - Indian Wells Miami Open - Miami Rolex Paris Masters - Paris Internazionali BNL d'Italia - Rome Dubai Duty Free Tennis Championships - Dubai Shanghai Rolex Masters - Shanghai Cincinnati Open - Cincinnati Rakuten Japan Open - Tokyo Rakuten Japan Open - Tokyo BNP Paribas Open - Indian Wells Millennium Estoril Open - Estoril Shanghai Rolex Masters - Shanghai Western & Southern Open - Cincinnati U.S. Open - New York U.S. Open - New York Australian Open - Melbourne Australian Open - Melbourne French Open - Paris Australian Open - Melbourne Wimbledon - London Australian Open - Melbourne Wimbledon - London French Open - Paris Wimbledon - London Wimbledon - London French Open - Paris U.S. Open - New York Australian Open - Melbourne U.S. Open - New York U.S. Open - New York U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London Australian Open - Melbourne U.S. Open - New York French Open - Paris Wimbledon - London French Open - Paris Wimbledon - London U.S. Open - New York Wimbledon - London U.S. Open - New York U.S. Open - New York Australian Open - Melbourne French Open - Paris U.S. Open - New York Australian Open Qualifying - Doha French Open - Paris Australian Open - Melbourne French Open - Paris Australian Open - Melbourne French Open - Paris Wimbledon - London Davis Cup, Group I, PO, RUS-POR 4-1 Davis Cup, World Group, PO, JPN-UKR 5-0 Davis Cup, Group I, 1R, POR-ISR 5-0 Davis Cup, World Group, QR, CHN-JPN 2-3 Davis Cup, World Group I, PO, LTU-POR 0-4 ATP Cup - Melbourne Davis Cup, World Group, Q, JPN-GBR 3-2 Davis Cup, Group I, 1R, SLO-POR 3-2 Davis Cup, Finals, Group A Davis Cup, Group II, 1R, POR-MAR 4-1 ATP Cup - Brisbane, Perth, Sydney Davis Cup, World Group I, 1R, JPN-COL 3-1 Davis Cup, Group I, PO, LIB-JPN 1-3 Davis Cup, Group II, 2R, POR-FIN 4-1 Davis Cup, World Group, 1R, JPN-FRA 1-4 Davis Cup, World Group, PO, JPN-BIH 4-0 Davis Cup, Group I, PO, JPN-POL 4-0 Davis Cup, World Group, Q2, JPN-GER 0-4 U.S. Open (juniors) Australian Open (juniors) French Open (juniors) Wimbledon (juniors) U.S. Open (juniors) Australian Open (juniors) French Open (juniors) Wimbledon (juniors) U.S. Open (juniors) Australian Open (Asia, Wildcard) All Lower level tournaments Australian Open (Asia, Wildcard) Wimbledon (juniors) Kooyong Classic - Kooyong National Bank Open - Toronto Truist Atlanta Open - Atlanta Australian Open - Melbourne M25 Bakio BNP Paribas Open - Indian Wells Internazionali BNL d'Italia - Rome Miami Open - Miami M25 Setubal M25 Porto Olympics - Tokyo